package hcn.protocol.ods.newdiagnosis;/**
 * @Auther: Administrator
 * @Date: 2019/4/20 12:57
 * @Description:
 */

import lombok.*;

import java.io.Serializable;
import java.util.List;

/**
 * @Author: zhusm@bsoft.com.cn
 *
 * @Description: 获取已支付列表
 *
 * @Create: 2019-04-20 12:57
 **/
@NoArgsConstructor
@Data
@Builder
@AllArgsConstructor
@ToString
public class NewGetPayedListRequestBean implements Serializable {
    private static final long serialVersionUID = -2410933192880770180L;

    /**
     * hospitalCode : 医院代码
     * beginDate : 起始日期
     * endDate : 结束日期
     * outpatientType : 门诊类型(1-普通2-云门诊普通)
     * executeFlag : 执行标志
     * queryType : 查询类型，参数设置，1表示按患者患者标识集合查询；2表示按证件集合查询；3表示按诊疗卡集合查询；默认是1
     * patientIdentityCardlist : 证件集合
     * patientMedicalCardList : 患者编号，在 his 中的唯一标识
     */

    private String organizationId;
    private String beginTime;
    private String endTime;
//    private String patientCode;
    private Integer outpatientType;
    private Integer executeFlag;
    private Integer queryType;
    private List<CertificatesBean> patientIdentityCardList;
    private List<CardsBean> patientMedicalCardList;
    private List<PatientCode> patientIdList;

    @NoArgsConstructor
    @Data
    @Builder
    @AllArgsConstructor
    @ToString
    public static class CertificatesBean {
        /**
         * patientIdentityCardType : 1、二代身份证2、港澳居民身份证3、台湾居民身份证4、护照
         * patientIdentityCardNumber : 证件号
         */

        private String cardType;
        private String cardNumber;
    }

    @NoArgsConstructor
    @Data
    @Builder
    @AllArgsConstructor
    @ToString
    public static class CardsBean {
        /**
         * patientMedicalCardType : 患者诊疗卡类型:1.居民健康卡 2.医院就诊卡 3.医保(社保)卡 9.其他
         * patientMedicalCardNumber : 患者诊疗卡号码
         * domain : 发卡机构
         */

        private Integer patientMedicalCardType;
        private String patientMedicalCardNumber;
    }
    @NoArgsConstructor
    @Data
    @Builder
    @AllArgsConstructor
    @ToString
    public static class PatientCode {
        /**
         * patientCode : 患者编号
         */

        private String patientId;
    }
}
